The present invention relates to a motion vector detecting apparatus for detecting an amount of displacement of an image and an image stabilizer for correcting sway of an outputted image, which includes the motion vector detecting apparatus.
A motion vector detecting apparatus is known from, for example, Japanese Patent Laid-Open Publication No. 61-269475. As shown in FIG. 1, the known motion vector detecting apparatus includes a motion vector detector 20 and a motion vector determiner 10. The motion vector detector 20 includes a first latch 1, a representative point memory 2, a second latch 3, a subtracter 4, an address controller 5, an absolute value converter 6, an accumulative adder 7, a correlational retriever 8 and a correlational decision unit 9 for judging validity of correlation in an image.
The known vector detecting apparatus of the above described below arrangement is further described. Initially, a motion vector of an image is described with reference to FIGS. 2a to 2c. FIG. 2a shows an image at a time point and FIG. 2b shows an image subsequent to the image of FIG. 2a by one field or one frame. When the image is displaced in parallel by movement of an image pickup device, etc. as shown in FIGS. 2a and 2b, an amount of parallel displacement of the image is expressed by a vector of the arrow in FIG. 2c and this vector is referred to as a "motion vector".
FIG. 3 shows a representative point and pixcels surrounding the representative point in a so-called representative point matching method of detecting a motion vector of an image. In this method, image data is disposed at a representative point in a field and a motion vector is detected by performing correlational arithmetic operations for determining to which one of the surrounding pixcels the image data is displaced in the next field.
Operation of the known motion vector detecting apparatus employing the correlational arithmetic unit is described with reference to FIG. 1. Image data at respective representative points in a screen are received by the first latch 1 in response to a timing pulse LP1 and are, at a certain timing, written at addresses of the representative point memory 2, which correspond to the representative points, respectively. Subsequently, in the next field or the next frame, correlation, namely absolute values of differences between image data in a motion vector detecting area surrounding each representative point and image data of the representative points of the previous field, which are stored in the representative point memory 2, are obtained and are inputted to the accumulative adder 7. Data representing correlation obtained on the basis of coordinates of each representative point are accumulatively added by the accumulative adder 6. When accumulative addition of the data for all the representative points has been completed, a location having the closest correlational value among accumulative sums stored in the accumulative adder 7 is judged by the correlational retriever 8. Namely, the location (address) having the closest correlational value relative to the corresponding representative point indicates the motion vector.
In the arrangement shown in FIG. 1, correlational arithmetic operation is performed by accumulative addition of the absolute values of the differences. Thus, in the accumulative adder 7, data at points having quite close correlation assume values smaller than those at other points. Furthermore, on the basis of distributions (average value, minimum value, gradient, etc.) of the correlational values in the motion vector detecting area, the correlational decision unit 9 judges whether or not the motion vector obtained by the correlational arithmetic operation is valid. When (1) the average value is small, (2) the minimum value is large and (3) the gradient around the minimum point of the correlational value is small, the correlational decision unit 9 judges that the motion vector obtained by the correlational arithmetic operation is invalid.
The above operation is performed for image signals in each of a plurality of divided regions in a screen. Then, on the basis of the motion vectors obtained from the image signals in the respective regions in the screen and data on judgement of validity of the motion vectors by the correlational decision unit 9, the motion vector determiner 10 determines a motion vector of the image signals of the whole screen.
Since the above described operation is performed for each field (frame), the first latch 1 is provided for storing, while the correlational arithmetic operation is being performed, image data at the representative points for the correlational arithmetic operation in the next field (frame). Meanwhile, when correlation between image data at a representative point and image data surrounding the representative point is obtained, the second latch 3 stores the image data at the representative point.
In the known motion vector detecting apparatus of the above described arrangement, when correlation at respective locations of a subject is remote and only a point of shift of the image through movement of an image pickup device has close correlation, no problem is incurred. However, if a subject has regular correlation, the following problem arises. Namely, in this case, a number of points of the subject have close correlation. Thus, in order to detect the motion vector accurately, a gradient around a minimum value of the correlational values is checked but validity of the correlation cannot be judged by merely comparing the gradient with a constant. Meanwhile, when a camera shooting the subject is swaying, the gradient varies greatly, so that validity of the correlation cannot be judged sufficiently.
Thus, judgement based on the gradient does not necessarily ensure judgement of validity of the correlation positively in many cases. Hence, the motion vectors obtained from the respective regions assume positions, which have close correlation in the image but are irrelevant to the proper motion vectors at the respective regions, and thus, do not represent the proper motion vectors at the respective regions. As a result, if the motion vector of the whole screen is determined by taking, for example, an average of the motion vectors at the respective regions, the motion vector of the whole screen is detected erroneously due to a prospective motion vector obtained by the mere gradient in a region having close correlation in the image, which correlation is different from movement of the whole screen.